<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>


    // Es5 模拟forEach方法
    // Array.prototype.myForEach = function(fn){
    //     for(let i = 0;i<this.length;i++){
    //         fn(this[i],i,this)
    //     }
    // }
    // let arr = [1,2,3]
    // arr.myForEach((item,index,arr) =>{
    //     console.log(item,index,arr);
    // })

    // 这是Array.map()方法
    // let arr = [1,2,3]
    // let newArr1 = arr.map(function(item,i,arr){
    //     return item,i,arr
    // })
    // console.log(newArr1);

    // Es5模拟map方法
    // let arr = [1,2,3]
    // Array.prototype.myMap = function(fn){
    //     for(let i = 0;i<this.length;i++){
    //         return fn(this[i],i,this)
    //     }
    // }
    // let newArr = arr.myMap(function(item,index,arr){
    //     let puArr = []
    //     for(let i=0;i<arr.length;i++){
    //         puArr.push(arr)
    //     }
    //     return puArr
    // })
    // console.log(newArr);

    // find方法
    // let arr = [1,2,3]
    // let resule = arr.find(function(item){  
    //     return item>2           // 这里的item 代表数组中的每一项
    // })
    // console.log(resule);

    // Es5模拟find方法   从数组中查找到符合条件的元素，返回一个我们查找到的元素
                        // 即使有多个符合条件的元素，也仅仅找一个，找到第一个就停止查找
    // let arr = [1,2,3]


    // findIndex方法   跟find（）方法效果一样，只不过返回查找到元素的索引，没找到返回结果是-1
    // let arr = [1,2,3]   
    // let f = arr.findIndex(item => item > 2)
    // console.log(f);

    // filter方法 从数组中筛选出所有符合条件的元素，并且把这些元素组成一个新的数组并返回，不修改原数组
    // let x = arr.filter(item => item >1)
    // console.log(x);

    // every方法        返回值是boolean值，用来判断数组中的元素是否都符合某一条件，
    // let n = arr.every(item => item > 0)
    // console.log(n);

    // some方法  用来判断数组中的元素是否都符合某一条件，只要有一个符合返回true
    // let n = arr.some(item => item>5)
    // console.log(n);
    
    
    let arr = [1,2,3,4,5,1,2,3,3,3,3]

    var a = []
    let n = arr.reduce((prev,next,index,arr)=>{
        
        
    })
    console.log(n);

</script>
